Protection techniques for non-volatile stored data may be of two types. A first type is the relatively unburdensome storing of volatile protection information. This is the generally adopted technique for preventing accidental alterations by the users of the permanently stored information in the memory device. A second type is a far more burdensome storing of non-volatile protection information. This is where a dedicated inaccessible memory region becomes inevitable when, beside prevention of accidental alterations by authorized users of the stored data, the stored data needs to be protected from malicious deliberate actions by hackers and alike.
Non-volatile protection systems are far more critical to design because they need to resist deliberate hacker attempts to alter the content of a programmed non-volatile memory device or sector thereof to illegally enable the use of set top boxes, cellular phones and other mobile personal apparatuses. FIG. 1 schematically depicts a volatile memory array on which sector protection information is stored, and FIG. 2 schematically depicts a possible fraudulent modification of protection information stored in the volatile memory array.
A survey of relevant technical literature confirms that integrity of stored data is generally based on the use of non-volatile memory elements (flash cells) in which the state of protection of the different sectors of the memory device is recorded. The protection system imposes verification of the state of protection of the addressed sector before enabling any modification of data stored in it (programming or erasing operations). Such a verification is done by reading a dedicated or reserved region of non-volatile memory containing protection information on the distinct sectors that are not accessible to the user of the memory device. This ensures robustness of the protection system because the protection information recorded in the inaccessible non-volatile memory region is inalterable from outside or external the memory.
Protection information and other vital information can be written in such a reserved region of the non-volatile memory cell array, inaccessible to any external user, exclusively by an internal controller of the memory device.
However, the implementation of such a data protection system imposes significant architectural restraints to the non-volatile memory device. To overcome these restraints, it is possible at the expense of a non-negligible increment of circuit complexity and of the silicon area required for realizing the required additional circuitry.
For instance, implementation of a non-volatile protection system in dual-job flash memory devices, the inaccessible non-volatile memory region intended to store the protection information needs to be provided with dedicated read and write/erase circuitry. The non-volatile flash memory devices are capable of simultaneously reading data from one sector while being engaged in modifying data on a different sector of the memory. This is in view of the fact that it is difficult to exploit the same circuitries of the ordinary data storing sectors of the memory device addressable by an external user without jeopardizing the dual-job capability.